22 research outputs found

    A design theory for requirements mining systems

    Full text link
    Software requirements are often communicated in unstructured text documents, which need to be analyzed in order to identify and classify individual needs. This process is referred to as requirements mining in the context of this thesis. It is known to be time-consuming and error-prone when performed manually by a requirements engineer. Thus, there is a demand to support requirements mining through information technology. However, little research has been conducted to conceptualize theoretically grounded requirements mining systems and abstract the necessary design knowledge in a theory. Furthermore, existing works scarcely investigate the effect of these artifacts on requirements engineers’ productivity. Consequently in this thesis, the following research question is addressed: How can a system be designed which aims at improving requirements mining productivity over manual discovery? Following a Design Science approach, a design theory is derived consisting of design requirements, design principles and design features. Design requirements are identified based on general knowledge and kernel theories. Subsequently they are related to design principles which are finally mapped to design features of an artifact. The artifact is conceptualized in two design cycles, each resulting in a distinct artifact version and its evaluation. In the first design cycle a simulation is conducted to investigate the interplay of the preliminary design principles. In the second design cycle, the effects of the final design principles on requirements mining productivity are measured in an experiment. The thesis contributes to the design theory body of knowledge by providing a design theory for requirements mining systems. The theory is a contribution to the information systems literature because requirements mining systems represent an important class of design situations that have not been adequately described yet by existing works. From a practical point of view, the study addresses the need of requirements engineers to support their work by information technology and provides vendors of requirements engineering software packages guidelines to improve their products

    Assessing cloud development platforms - What Platform as a Service offers and what not

    Get PDF
    Cloud computing has rapidly become a computing paradigm of great interest to the research and practitioner community. In addition to the provisioning of cloud-based software services, a plethora of solutions for the development of these services in the cloud have emerged. Cloud-based development platforms, also known as Platform-as-a-Service (PaaS) include a broad spectrum of elaborated application-level services. Architects and developers willing to exploit the advantages of this new technology for the software development process are confronted with a complex decision problem. Which PaaS characteristics are of specific importance for cloud-based development? What are major limitations negatively influencing the development process? In order to address these questions, we carried out a comprehensive case study. Nineteen developer groups comprising three master student developers each were asked to develop a cloud-based talent management software service. Each group was presented the same set of requirements, and randomly assigned one out of three pre-selected PaaS products. The groups were asked to record every development step during the four month project in a developer diary and also write a comprehensive project report. Within the developer diary as well as the final report particular topics had to be addressed, e.g. the time needed for the development of each requirement, helpful characteristics of the platform which supported efficient development of particular features, but also hindering characteristics or missing functionalities. The collected data was analyzed and a set of key characteristics for PaaS solutions was identified. Twelve functional and non-functional characteristics of PaaS solutions which were perceived as either helpful or hindering during the development project were extracted. For example, reusable platform objects were perceived as an important functional characteristic positively influencing the development process in the cloud. In contrast, limited DBMS functionalities were identified as a hindering characteristic by the developers. Our research is of specific relevance for practitioners dealing with development in the cloud; we provide guidelines for PaaS vendors and help architects and developers in the selection process for an appropriate PaaS solution

    Designing a Requirement Mining System

    Get PDF
    The success of information systems (IS) development strongly depends on the accuracy of the requirements gathered from users and other stakeholders. When developing a new IS, about 80 percent of these requirements are recorded in informal requirements documents (e.g., interview transcripts or discussion forums) using natural language. However, processing the resultant natural language requirements resources is inherently complex and often error prone due to ambiguity, inconsistency, and incompleteness. Thus, even highly qualified requirements engineers often struggle to process large amounts of natural language requirements resources efficiently and effectively. In this paper, we propose a design theory for requirement mining systems (RMSs) based on two design principles: (1) semi-automatic requirement mining and (2) usage of imported and retrieved knowledge. As part of an extensive design project, which led to these principles, we also implemented a prototype based on this design theory (REMINER). It supports requirements engineers in identifying and classifying requirements documented in natural language and allows us to evaluate the artifact’s viability and the conceptual soundness of our design. The results of our evaluation suggest that an RMS based on our proposed design principles can significantly improve recall while maintaining precision levels

    Cross-Functional Integration of Product Management and Product Design in Application Software Development: Exploration of Success Factors - Interview Transcripts

    No full text
    The industrialization of application software development is a key trend in the software industry. One important element of industrialized development processes is the introduction of a division of work with specialized competencies. Cross-functional integration is a fundamental and well established concept in product development. Its potential has also been recognized in application software development. Many enterprise application software vendors have established product management to complement software development from a business perspective, while R&D primarily focuses on technology aspects. Due to the growing significance of usability and user experience, the product design function has become increasingly important for application software development. However, there is little empirical work concerning cross-functional integration of product management and product design in application software development. The work presented in this paper explores success factors of this cross-functional integration

    Is Knowledge Power? The Role of Knowledge in Automated Requirements Elicitation

    Full text link
    In large IS development projects a huge number of unstructured text documents become available and need to be analyzed and transformed into structured requirements. This elicitation process is known to be time-consuming and error-prone when performed manually by a requirements engineer. Thus, previous works have proposed to automate the process through alternative algorithms using different forms of knowledge. While the effectiveness of different algorithms has been intensively researched, limited efforts have been paid to investigate how the algorithms’ outcomes are determined by the utilized knowledge. Our work explores how the amount and type of knowledge affects requirements elicitation quality in two consecutive simulations. The study is based on a requirements elicitation system that has been developed as part of our previous work. We intend to contribute to the body of knowledge by outlining how the provided amount and type of knowledge determine the outcomes of automatic requirements elicitation

    Cross-Functional Integration of Product Management and Product Design in Application Software Development: Exploration of Success Factors

    Get PDF
    The industrialization of application software development is a key trend in the software industry. One important element of industrialized development processes is the introduction of a division of work with specialized competencies. Cross-functional integration is a fundamental and well established concept in product development. Its potential has also been recognized in application software development. Many enterprise application software vendors have established product management to complement software development from a business perspective, while R&D primarily focuses on technology aspects. Due to the growing significance of usability and user experience, the product design function has become increasingly important for application software development. However, there is little empirical work concerning cross-functional integration of product management and product design in application software development. The work presented in this paper explores success factors of this cross-functional integration
    corecore